<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        const array = new Array(5).map((item) => {
            return item = {
                name: '1'
            }
        });
        console.log(array);

        // 声明一个Foo 函数
        function Foo() {
            getName = function () {
                console.log(1);
            }
            return this;
        }

        // Foo创建了一个叫getName的静态属性存储了一个匿名函数
        Foo.getName = function () {
            console.log(2);
        };

        // Foo的原型对象新创建了一个叫getName的匿名函数
        Foo.prototype.getName = function () {
            console.log(3);
        };

        // 声明一个匿名，并且赋值给全局变量getName (函数表达式)
        var getName = function () {
            console.log(4);
        };

        // 声明一个全局函数getName (函数声明)
        function getName() {
            console.log(5);
        }

        // Foo.getName();      
        // getName();      
        // Foo().getName(); // 第三问
        // getName(); // 第四问                                      
        new Foo.getName(); // 第五问
        // new Foo().getName(); // 第六问                    
        // new new Foo().getName(); // 第七问
    </script>
</body>

</html>